Data Storage Devices (DSDs) are often used to record data onto or to reproduce data from a storage media such as rotating magnetic disks or solid-state memories such as flash. DSDs are conventionally used by a host that processes or transforms data and stores data in the DSD or retrieves data from the DSD. The DSD often accesses data stored in the DSD with a file system that organizes the data into files used by an application running on the host.
The growth of distributed computing, mobile applications, social media applications, and big data applications (i.e., the collection of large amounts of data or complex data) has led to an increase in object based storage which generally allows for better scalability than file based storage. In many cases, the data objects may never be accessed again, but they are expected to remain accessible if needed. Examples of such data objects can include photos, movies, e-commerce data, or archival data stored across a network as in cloud storage. The growth of object based storage has created a need for a storage environment that can accommodate both file based storage and object based storage.
In addition, distributed computing, mobile applications, social media applications, and big data applications have led to the need for larger storage capacities to retain the data used by these applications. The traditional model of a host retrieving data from a DSD, processing the retrieved data, and storing the processed data back in the DSD may not provide the most efficient use of resources in terms of processing efficiency or network traffic when dealing with large amounts of data distributed among different DSDs. In addition, data storage systems will need to provide for more flexibility in handling data, such as allowing for the use of new interfaces and applications being developed in fields such as distributed computing.